home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 June / PCpro_2005_06.ISO / files / opensource / amc / amc_install.exe / {app} / Scripts / Filmweb (PL).ifs < prev    next >
Encoding:
Text File  |  2005-03-12  |  20.1 KB  |  553 lines

  1. (***************************************************
  2.  
  3. Ant Movie Catalog importation script
  4. www.antp.be/software/moviecatalog/
  5.  
  6. [Infos]
  7. Authors=(c) 2002 Piotr Kardasz
  8. Title=Filmweb (PL)
  9. Description=Movie importation script for Filmweb info & small picture
  10. Site=http://www.filmweb.pl
  11. Language=PL
  12. Version=1.0
  13. Requires=3.5.0
  14. Comments=05.10.2003 Improvements made by Adma's|07.10.2003 Modifications by Adma's to import small picture|03.03.2004 Modyfications by BestiaPL support for new movie database links|20.12.2004 Modyfications by Atomek2000 support for new site design Filmweb|14.02.2005 Improvements made by Adma's
  15. License=This program is free software; you can redistribute it and/or modify it under the  terms of the GNU General Public License as published by the Free Software Foundation;  either version 2 of the License, or (at your option) any later version. |
  16. GetInfo=1
  17.  
  18. [Options]
  19.  
  20. ***************************************************)
  21.  
  22. program FilmWeb;
  23. var
  24.   MovieName: string;
  25.   Link: string;
  26.  
  27. function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
  28. var
  29.   i: Integer;
  30. begin
  31.   result := -1;
  32.   if StartAt < 0 then
  33.     StartAt := 0;
  34.   for i := StartAt to List.Count-1 do
  35.     if Pos(Pattern, List.GetString(i)) <> 0 then
  36.     begin
  37.       result := i;
  38.       Break;
  39.     end;
  40. end;
  41.  
  42. procedure DelSpace(var Value: String);
  43. var
  44.   FullValue: String;
  45.   Counter: Integer;
  46. begin
  47.   if Value <> '' then
  48.   begin
  49.     FullValue := FullValue + StrGet(Value, 1);
  50.     for Counter := 2 to Length(Value) do
  51.     begin
  52.       if StrGet(Value, Counter) <> ' ' then
  53.         FullValue := FullValue + StrGet(Value, Counter)
  54.       else
  55.         if StrGet(FullValue, Length(FullValue)) <> ' ' then
  56.           FullValue := FullValue + ' ';
  57.     end;
  58.     Value := FullValue;
  59.   end
  60. end;
  61.  
  62. procedure DecodeHTML(var Value: String);
  63. var
  64.   FullValue, CharCode: String;
  65.   Counter: Integer;
  66. begin
  67.   if Value <> '' then
  68.   begin
  69.     FullValue := '';
  70.     Counter := 1;
  71.     repeat
  72.       if StrGet(Value, Counter) <> '&' then
  73.         begin
  74.           CharCode := copy(Value, Counter, 1);
  75.           case CharCode of
  76.             '▒': CharCode := '╣';
  77.             '╢': CharCode := '£';
  78.             'í': CharCode := 'Ñ';
  79.             '╝': CharCode := 'ƒ';
  80.             'ª': CharCode := 'î';
  81.             '¼': CharCode := 'Å';
  82.           end;
  83.           FullValue := FullValue + CharCode;
  84.           Counter := Counter + 1;
  85.         end
  86.       else
  87.         begin
  88.           CharCode := copy(Value, Counter, 7);
  89.           case CharCode of
  90.             'ą': FullValue := FullValue + '╣';
  91.             'ć': FullValue := FullValue + 'µ';
  92.             'ę': FullValue := FullValue + 'Ω';
  93.             'ł': FullValue := FullValue + '│';
  94.             'ń': FullValue := FullValue + '±';
  95.             'ó': FullValue := FullValue + '≤';
  96.             'ś': FullValue := FullValue + '£';
  97.             'ź': FullValue := FullValue + 'ƒ';
  98.             'ż': FullValue := FullValue + '┐';
  99.             'Ą': FullValue := FullValue + 'Ñ';
  100.             'Ć': FullValue := FullValue + '╞';
  101.             'Ę': FullValue := FullValue + '╩';
  102.             'Ł': FullValue := FullValue + 'ú';
  103.             'Ń': FullValue := FullValue + '╤';
  104.             'Ó': FullValue := FullValue + '╙';
  105.             'Ś': FullValue := FullValue + 'î';
  106.             'Ź': FullValue := FullValue + 'Å';
  107.             'Ż': FullValue := FullValue + '»';
  108.             'Š': FullValue := FullValue + ' ';
  109.             'š': FullValue := FullValue + 'í';
  110.             'Ţ': FullValue := FullValue + 'í';
  111.             'ţ': FullValue := FullValue + 'ú';
  112.             'Ť': FullValue := FullValue + 'ñ';
  113.             'ť': FullValue := FullValue + 'Ñ';
  114.             'Ŧ': FullValue := FullValue + 'î';
  115.             'ŧ': FullValue := FullValue + 'º';
  116.             'Ũ': FullValue := FullValue + '¿';
  117.             'ũ': FullValue := FullValue + '⌐';
  118.             'Ű': FullValue := FullValue + '¬';
  119.             'ű': FullValue := FullValue + '½';
  120.             'Ų': FullValue := FullValue + '¼';
  121.             'ų': FullValue := FullValue + '¡';
  122.             'Ŵ': FullValue := FullValue + '«';
  123.             'ŵ': FullValue := FullValue + '»';
  124.             'Ŷ': FullValue := FullValue + '░';
  125.             'ŷ': FullValue := FullValue + '▒';
  126.             'Ÿ': FullValue := FullValue + '▓';
  127.             'ƀ': FullValue := FullValue + '┤';
  128.             'Ɓ': FullValue := FullValue + '╡';
  129.             'Ƃ': FullValue := FullValue + '╢';
  130.             'ƃ': FullValue := FullValue + '╖';
  131.             'Ƅ': FullValue := FullValue + '╕';
  132.             'ƅ': FullValue := FullValue + '╣';
  133.             'Ɔ': FullValue := FullValue + '║';
  134.             'Ƈ': FullValue := FullValue + '╗';
  135.             'ƈ': FullValue := FullValue + '╝';
  136.             'Ɖ': FullValue := FullValue + '╜';
  137.             'Ɛ': FullValue := FullValue + '╛';
  138.             'Ƒ': FullValue := FullValue + '┐';
  139.             'ƒ': FullValue := FullValue + '└';
  140.             'Ɠ': FullValue := FullValue + '┴';
  141.             'Ɣ': FullValue := FullValue + '┬';
  142.             'ƕ': FullValue := FullValue + '├';
  143.             'Ɩ': FullValue := FullValue + '─';
  144.             'Ɨ': FullValue := FullValue + '┼';
  145.             'Ƙ': FullValue := FullValue + '╞';
  146.             'ƙ': FullValue := FullValue + '╟';
  147.             'Ȁ': FullValue := FullValue + '╚';
  148.             'ȁ': FullValue := FullValue + '╔';
  149.             'Ȃ': FullValue := FullValue + '╩';
  150.             'ȃ': FullValue := FullValue + '╦';
  151.             'Ȅ': FullValue := FullValue + '╠';
  152.             'ȅ': FullValue := FullValue + '═';
  153.             'Ȇ': FullValue := FullValue + '╬';
  154.             'ȇ': FullValue := FullValue + '╧';
  155.             'Ȉ': FullValue := FullValue + '╨';
  156.             'ȉ': FullValue := FullValue + '╤';
  157.             'Ȑ': FullValue := FullValue + '╥';
  158.             'ȑ': FullValue := FullValue + '╙';
  159.             'Ȓ': FullValue := FullValue + '╘';
  160.             'ȓ': FullValue := FullValue + '╒';
  161.             'Ȕ': FullValue := FullValue + '╓';
  162.             'ȕ': FullValue := FullValue + '╫';
  163.             'Ȗ': FullValue := FullValue + '╪';
  164.             'ȗ': FullValue := FullValue + '┘';
  165.             'Ș': FullValue := FullValue + '┌';
  166.             'ș': FullValue := FullValue + '█';
  167.             'Ƞ': FullValue := FullValue + '▄';
  168.             'ȡ': FullValue := FullValue + '▌';
  169.             'Ȣ': FullValue := FullValue + '▐';
  170.             'ȣ': FullValue := FullValue + '▀';
  171.             'Ȥ': FullValue := FullValue + 'α';
  172.             'ȥ': FullValue := FullValue + 'ß';
  173.             'Ȧ': FullValue := FullValue + 'Γ';
  174.             'ȧ': FullValue := FullValue + 'π';
  175.             'Ȩ': FullValue := FullValue + 'Σ';
  176.             'ȩ': FullValue := FullValue + 'σ';
  177.             'Ȱ': FullValue := FullValue + 'µ';
  178.             'ȱ': FullValue := FullValue + 'τ';
  179.             'Ȳ': FullValue := FullValue + 'Φ';
  180.             'ȳ': FullValue := FullValue + 'Θ';
  181.             'ȴ': FullValue := FullValue + 'Ω';
  182.             'ȵ': FullValue := FullValue + 'δ';
  183.             'ȶ': FullValue := FullValue + '∞';
  184.             'ȷ': FullValue := FullValue + 'φ';
  185.             'ȸ': FullValue := FullValue + 'ε';
  186.             'ȹ': FullValue := FullValue + '∩';
  187.             'ɀ': FullValue := FullValue + '≡';
  188.             'Ɂ': FullValue := FullValue + '±';
  189.             'ɂ': FullValue := FullValue + '≥';
  190.             'Ƀ': FullValue := FullValue + '≤';
  191.             'Ʉ': FullValue := FullValue + '⌠';
  192.             'Ʌ': FullValue := FullValue + '⌡';
  193.             'Ɇ': FullValue := FullValue + '÷';
  194.             'ɇ': FullValue := FullValue + '≈';
  195.             'Ɉ': FullValue := FullValue + '°';
  196.             'ɉ': FullValue := FullValue + '∙';
  197.             'ɐ': FullValue := FullValue + '·';
  198.             'ɑ': FullValue := FullValue + '√';
  199.             'ɒ': FullValue := FullValue + 'ⁿ';
  200.             'ɓ': FullValue := FullValue + '²';
  201.             'ɔ': FullValue := FullValue + '■';
  202.             'ɕ': FullValue := FullValue + ' ';
  203.             '&#x%DF;': FullValue := FullValue + '▀';
  204.             '4': FullValue := FullValue + '"';      
  205.           else
  206.             FullValue := FullValue + CharCode;  
  207.           end;
  208.           Counter := Counter + 7;
  209.         end;
  210.     until Counter > Length(Value);
  211.     HTMLDecode(FullValue);
  212.     Value := FullValue;
  213.   end
  214. end;
  215.  
  216. procedure AddMoviesTitles(Page: TStringList; var LineNr: Integer);
  217. var
  218.   Line: string;
  219.   MovieTitle, MovieAddress: string;
  220.   StartPos, EndPos: Integer;
  221. begin
  222.   LineNr := FindLine('<b>filmy</b>:', Page, LineNr);
  223.   if LineNr > -1 then
  224.   begin
  225.     PickTreeAdd('Znaleziono filmy:', '');
  226.     Line := Page.GetString(LineNr);
  227.     repeat
  228.       if (Pos('<a title=', Line) > 0) and (Pos('zobacz wiΩcej', Line) <= 0) then
  229.       begin
  230.         StartPos := pos('<a title=', Line) + 10;
  231.         Line := copy(Line, StartPos, Length(Line) - StartPos);
  232.         MovieTitle := copy(Line, 1, pos('href', Line) - 3);
  233.         DecodeHTML(MovieTitle);
  234.         HTMLRemoveTags(MovieTitle);
  235.         StartPos := pos('href=', Line) + 6;
  236.         Line := copy(Line, StartPos, Length(Line));
  237.           if pos('"', Line) > 0
  238.             then MovieAddress:= Copy(Line, 1, Pos('"', Line) - 1)
  239.             else MovieAddress:= Copy(Line, 1, Pos('class=', Line) - 3);
  240.         PickTreeAdd(MovieTitle, MovieAddress);
  241.       end;
  242.       LineNr := LineNr + 1;
  243.       Line := Page.GetString(LineNr);
  244.     until Pos('</table>', Line) > 0;
  245.   end
  246.   else
  247.     break;
  248. end;
  249.  
  250. procedure AnalyzePage(Address: string);
  251. var
  252.   Page: TStringList;
  253.   LineNr: Integer;
  254. begin
  255.   Page := TStringList.Create;
  256.   Page.Text := GetPage(Address);
  257.   Link:=Address;
  258.   if pos('<div class="tyt">', Page.Text) > 0 then
  259.     AnalyzeMoviePage(Page)
  260.   else if pos('href=', Page.Text) > 0 then
  261.   begin
  262.     PickTreeClear;
  263.     LineNr := 0;
  264.     AddMoviesTitles(Page, LineNr);
  265.     if PickTreeExec(Address) then
  266.       AnalyzePage(Address);
  267.   end;
  268.   Page.Free;
  269. end;
  270.  
  271. procedure AnalyzeMoviePage(Page: TStringList);
  272. var
  273.   Line, Value, FullValue: string;
  274.   LineNr, Counter: Integer;
  275.   StartPos, EndPos: Integer;
  276.   PageOpis: TStringList;
  277.   LineNrOpis: Integer;
  278.   AddressOpis: String;
  279. begin
  280.  
  281.   // Tytu│ polski
  282.   LineNr := FindLine('<div class="tyt">', Page, 0);
  283.   if LineNr > -1 then
  284.   begin
  285.     Line := Page.GetString(LineNr);
  286.     Line := Page.GetString(LineNr+1);
  287.     StartPos := 8;
  288.     Line := copy(Line, StartPos, Length(Line) - StartPos + 1);
  289.     DecodeHTML(Line);
  290.     SetField(fieldTranslatedTitle, Line);
  291.   end
  292.  
  293.   // Tytu│ oryginalny
  294.   Value:=Line;
  295.   LineNr := FindLine('<span class="styt">', Page, 0);
  296.   if LineNr > -1 then
  297.   begin
  298.     Line := Page.GetString(LineNr);
  299.     if (pos('<span class="styt">(', Line) > 0) or (pos('<span class="styt"> </span>', Line) > 0)
  300.       then Line:=Value
  301.       else begin
  302.         StartPos := pos('<span class="styt">', Line) + 19;
  303.         Line := copy(Line, StartPos, Length(Line) - StartPos);
  304.         StartPos := pos('</', Line) - 1;
  305.         Line := copy(Line, 1, StartPos);
  306.         if copy(Line, Length(Line), 1) = ' ' then Line := copy(Line, 1, Length(Line) - 1);
  307.       end;
  308.     DecodeHTML(Line);
  309.     SetField(fieldOriginalTitle, Line);
  310.   end
  311.  
  312.   // îrednia ocena  
  313.   LineNr := FindLine('ocena:', Page, 0);
  314.   if LineNr > -1 then
  315.   begin
  316.     Line := Page.GetString(LineNr);
  317.     StartPos := pos('">', Line) + 2;
  318.     Line := copy(Line, StartPos, Length(Line) - StartPos);
  319.     StartPos := pos('</b>', Line);
  320.     Line := copy(Line, 1, StartPos - 1);
  321.     if Length(Line) = 5
  322.       then Value := IntToStr(Round(StrToInt(StrGet(Line, 1), 0) + (StrToInt(StrGet(Line, 3), 0) / 10) + (StrToInt(StrGet(Line, 4), 0) / 100) + (StrToInt(StrGet(Line, 5), 0) / 1000)))
  323.       else if Length(Line) = 4
  324.         then Value := IntToStr(Round(StrToInt(StrGet(Line, 1), 0) + (StrToInt(StrGet(Line, 3), 0) / 10) + (StrToInt(StrGet(Line, 4), 0) / 100)))
  325.         else if Length(Line) = 3
  326.           then Value := IntToStr(Round(StrToInt(StrGet(Line, 1), 0) + (StrToInt(StrGet(Line, 3), 0) / 10)))
  327.           else Value := IntToStr(Round(StrToInt(StrGet(Line, 1), 0))) ;
  328.     SetField(fieldRating, Value);
  329.  
  330.   end
  331.  
  332.   // Kategoria
  333.   LineNr := FindLine('genre.id', Page, 0);
  334.   if LineNr > -1 then
  335.   begin
  336.     Line := Page.GetString(LineNr);
  337.     Value := '';
  338.     while Pos('genre.id=', Line) > 0 do
  339.     begin
  340.       StartPos := pos('">', Line) + 2;
  341.       Line := copy(Line, StartPos, Length(Line) - StartPos + 1);
  342.       StartPos := pos('</', Line);
  343.       Value:= Value + copy(Line,1, StartPos - 1) + ' / ';
  344.     end;
  345.     Value := copy(Value, 1, Length(Value) - 3);
  346.     DecodeHTML(Value);
  347.     SetField(fieldCategory, Value);
  348.   end
  349.     
  350.   // Kraj
  351.   LineNr := FindLine('country.id', Page, 0);
  352.   if LineNr > -1 then
  353.   begin
  354.     Line := Page.GetString(LineNr);
  355.     Value := '';
  356.     while Pos('country.id=', Line) > 0 do
  357.     begin
  358.       StartPos := pos('">', Line) + 2;
  359.       Line := copy(Line, StartPos, Length(Line) - StartPos + 1);
  360.       StartPos := pos('</', Line);
  361.       Value:= Value + copy(Line,1, StartPos - 1) + ' , ';
  362.     end;
  363.     Value := copy(Value, 1, Length(Value) - 3);
  364.     DecodeHTML(Value);
  365.     SetField(fieldCountry, Value);
  366.   end
  367.  
  368.   // Rok produkcji
  369.   LineNr := FindLine('<span class="styt">(', Page, 0);
  370.   if LineNr > -1 then
  371.   begin
  372.     Line := Page.GetString(LineNr);
  373.     StartPos := pos(')</span>', Line);
  374.     Value := copy(Line, StartPos-4, 4);
  375.     SetField(fieldYear, Value);
  376.   end
  377.  
  378.   // Re┐yseria
  379.   LineNr := FindLine('re┐yseria', Page, 0);
  380.   if LineNr > -1 then
  381.   begin
  382.     Line := Page.GetString(LineNr);
  383.     StartPos:= Pos('re┐yseria', Line) + 9;
  384.     Line:= Copy(Line, StartPos, Length(Line));
  385.     Value:='';
  386.     repeat
  387.       StartPos:= Pos('">', Line) + 2;
  388.       Line:= Copy(Line, StartPos, Length(Line) - StartPos);
  389.       Value:= Value + Copy(Line, 1, Pos('</a>', Line) - 1) + ', ';
  390.     until Pos('">', Line) <= 0;
  391.     Value:= Copy(Value, 1, Length(Value) - 2);
  392.     DecodeHTML(Value);
  393.     SetField(fieldDirector, Value);
  394.   end
  395.  
  396.   // Producent
  397. //  LineNr := FindLine('>producent:</td>', Page, 0);
  398. //  if LineNr > -1 then
  399. //  begin
  400. //    Line := Page.GetString(LineNr);
  401. //    StartPos := pos('>producent:</td>', Line) + 16;
  402. //    Line := copy(Line, StartPos, Length(Line) - StartPos); 
  403. //    Value := copy(Line, 1, pos('</a></td></tr>', Line) - 1);
  404. //    HTMLRemoveTags(Value);
  405. //    DecodeHTML(Value); 
  406. //    SetField(fieldProducer, Value);
  407. //  end  
  408.  
  409.   // Czas trwania
  410.   LineNr := FindLine('czas trwania:', Page, 0);
  411.   if LineNr > -1 then
  412.   begin
  413.     Line := Page.GetString(LineNr);
  414.     StartPos := pos('czas trwania:', Line) + 14;
  415.     Line := copy(Line, StartPos, Length(Line) - StartPos + 1);
  416.     SetField(fieldLength, Line);
  417.   end
  418.   
  419.   // Opis filmu
  420.   LineNr := FindLine('alt="o filmie"', Page, 0);
  421.   if LineNr > -1 then
  422.   begin
  423.     if FindLine('... <a class="n" href="', Page, LineNr) > 0 then
  424.     begin
  425.       LineNr := FindLine('... <a class="n" href="', Page, LineNr);
  426.       Line := Page.GetString(LineNr);
  427.       StartPos := pos('... <a class="n" href="', Line) + 23;
  428.       Line := copy(Line, StartPos, Length(Line) - StartPos);
  429.       StartPos := pos('">', Line);
  430.       Line := copy(Line, 1, StartPos - 1);
  431.       AddressOpis := Line;
  432.       SetField(fieldComments, 'Dodatkowe opisy filmu na stronie: ' + AddressOpis);
  433.       PageOpis := TStringList.Create;
  434.       PageOpis.Text := GetPage(AddressOpis);
  435.       LineNrOpis := FindLine('<li>', PageOpis, 0);
  436.       if LineNrOpis > -1 then
  437.       begin
  438.         LineNrOpis:= LineNrOpis + 1;
  439.         Line := PageOpis.GetString(LineNrOpis);
  440.         While FindLine('<li>', PageOpis, LineNrOpis) >0 do
  441.         begin
  442.           LineNrOpis := FindLine('<li>', PageOpis, LineNrOpis);
  443.           LineNrOpis:= LineNrOpis + 1;
  444.         end;
  445.         LineNrOpis:=LineNrOpis-1;
  446.         Line:='';
  447.         EndPos:=FindLine('</li>', PageOpis, LineNrOpis);
  448.         For StartPos:=LineNrOpis to EndPos do Line := Line + PageOpis.GetString(StartPos) + ' ';
  449.         StartPos := pos('<li>', Line);
  450.         Line := copy(Line, StartPos, Length(Line) - StartPos);
  451.         HTMLRemoveTags(Line);
  452.         while copy(Line,1,1) = ' ' do Line:=copy(Line,2,Length(Line) - 1);
  453.         if copy(Line, Length(Line), 1) = ' ' then Line := copy(Line, 1, Length(Line) - 1);
  454.       end;
  455.       PageOpis.Free;
  456.     end
  457.     else
  458.     begin
  459.       Line := Page.GetString(LineNr+1);
  460.       Line:=StringReplace(Line, #9, ' ');
  461.       HTMLRemoveTags(Line);
  462.       while copy(Line,1,1) = ' ' do Line:=copy(Line,2,Length(Line) - 1);
  463.     end;
  464.     DecodeHTML(Line);
  465.     Line:=StringReplace(Line, chr(34),chr(39)); // zamiana cudzyslowu na apostrof
  466.     DelSpace(Line);
  467.     SetField(fieldDescription, Line);
  468.   end
  469.   
  470.   // Obsada
  471.   LineNr := FindLine('alt="obsada"', Page, 0);
  472.   if LineNr > -1 then
  473.   begin
  474.     LineNr:= LineNr + 1;
  475.     Line := Page.GetString(LineNr);
  476.     While Pos('title="', Line) <= 0 do
  477.     begin
  478.       LineNr:= LineNr + 1;
  479.       Line := Page.GetString(LineNr);
  480.     end;
  481.     Value := '';
  482.     repeat
  483.       if Pos('title=', Line) > 0 then
  484.       begin
  485.         Line:= Copy(Line, Pos('title=', Line) + 7, Length(Line));
  486.         StartPos:= Pos('">', Line) + 2;
  487.         Line:= Copy(Line, StartPos, Length(Line));
  488.         Value:= Value + Copy(Line, 1, Pos('</a', Line) - 1) + ', ';
  489.       end;
  490.       LineNr:= LineNr + 1;
  491.       Line := Page.GetString(LineNr);
  492.     until Pos('</table>', Line) > 0; //align="right"><a class="n"
  493.     Value := copy(Value, 1, Length(Value) - 2);
  494.     DecodeHTML(Value); 
  495.     SetField(fieldActors, Value);
  496.   end
  497.   
  498.   //URL
  499.   setField(fieldURL, Link);
  500.   
  501.  //Foto
  502.   Value:= '';
  503.   LineNr:= FindLine('<img  src="http://gfx.filmweb.pl', Page, 0);
  504.   if LineNr > -1
  505.   then begin
  506.     Line:= Page.GetString(LineNr);
  507.     StartPos:= Pos('src=', Line) + 5;
  508.     Line:= Copy(Line, StartPos, Length(Line));
  509.     Line:= Copy(Line, 1, Pos('alt=', Line) - 3);
  510.     HTMLRemoveTags(Line);
  511.     DecodeHTML(Line);
  512.     DelSpace(Line);
  513.     GetPicture(Line); // False = nie przechowuj zdjΩcia na zewnΩtrz ; przechowuj w pliku katalogu
  514.   end
  515.  
  516.   //DisplayResults;
  517. end;
  518.  
  519. begin
  520.   if CheckVersion(3,5,0) then
  521.   begin
  522.     MovieName := GetField(fieldOriginalTitle);
  523.     if MovieName = '' then
  524.       MovieName := GetField(fieldTranslatedTitle);
  525.     if Input('FilmWeb Import', 'Podaj tytu│ filmu:', MovieName) then
  526.     begin
  527.       MovieName:=StringReplace(MovieName, '╣', chr(177));  // Zamiana na ISO-8859-2
  528.       MovieName:=StringReplace(MovieName, 'µ', chr(230));
  529.       MovieName:=StringReplace(MovieName, 'Ω', chr(234));
  530.       MovieName:=StringReplace(MovieName, '│', chr(179));
  531.       MovieName:=StringReplace(MovieName, '±', chr(241));
  532.       MovieName:=StringReplace(MovieName, '≤', chr(243));
  533.       MovieName:=StringReplace(MovieName, '£', chr(182));
  534.       MovieName:=StringReplace(MovieName, 'ƒ', chr(188));
  535.       MovieName:=StringReplace(MovieName, '┐', chr(191));
  536.       MovieName:=StringReplace(MovieName, 'Ñ', chr(161));
  537.       MovieName:=StringReplace(MovieName, '╞', chr(198));
  538.       MovieName:=StringReplace(MovieName, '╩', chr(202));
  539.       MovieName:=StringReplace(MovieName, 'ú', chr(163));
  540.       MovieName:=StringReplace(MovieName, '╤', chr(209));
  541.       MovieName:=StringReplace(MovieName, '╙', chr(211));
  542.       MovieName:=StringReplace(MovieName, 'î', chr(166));
  543.       MovieName:=StringReplace(MovieName, 'Å', chr(172));
  544.       MovieName:=StringReplace(MovieName, '»', chr(175));
  545.       MovieName:=StringReplace(MovieName, ' ', '+');
  546.       AnalyzePage('http://filmweb.pl/Find?query=' + MovieName + '&category=1');
  547.     end;
  548.   end else
  549.     ShowMessage('Skrypt wymaga programu Ant Movie Catalog w wersji 3.5.0 lub nowszej');
  550. end.
  551.  
  552.  
  553.